1
Piano progetto: Creazione di un grep basato su Rust
AI034Lesson 12
00:00

Nel mondo di Rust, uno strumento CLI robusto non è solo uno script singolo; è un piano progetto attentamente orchestrato Piano progetto. Per creare uno strumento come grep, dividiamo il nostro lavoro tra un Crate binario e un Crate libreria.

1. La metafora della macchina da caffè

Pensa a una macchina da caffè di fascia alta. Il file lib.rs contiene i meccanismi interni per scaldare l'acqua e macinare i chicchi—la "logica del motore". Il file main.rs è il pulsante esterno che l'utente preme—l'"interfaccia". Tenendoli separati, un tecnico può testare il riscaldatore (libreria) senza dover premere ogni volta il pulsante fisico (binario).

2. Costruzione dell'architettura del motore

Cominciamo con $ cargo new minigrep. Anche se questo crea un main.rs, dobbiamo introdurre manualmente src/lib.rs. Questa divisione architettonica garantisce che la nostra logica principale di ricerca rimanga sconnessa dal parsing della riga di comando, permettendo test più semplici e modularità.

Crate binariosrc/main.rs(L'"avviamento")Crate libreriasrc/lib.rs(Il "motore")Chiama la logica

3. Modularità testabile

Spostando la logica in lib.rs, sfruttiamo il framework di test di Rust per chiamare le funzioni della libreria in un ambiente controllato. Usiamo use minigrep; nel nostro binario per importare il motore mantenendo isolata la logica di analisi della riga di comando.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>